
struct ListNode
{
    int val;
    struct ListNode *next;
};

struct ListNode *reverseKGroup1(struct ListNode *head, int k)
{
}

struct ListNode *reverseKGroup2(struct ListNode *head, int k)
{
}
/*
K 个一组翻转链表

给你链表的头节点 head ，每k个节点一组进行翻转，请你返回修改后的链表。
k 是一个正整数，它的值小于或等于链表的长度。如果节点总数不是k的整数倍，那么请将最后剩余的节点保持原有顺序。
你不能只是单纯的改变节点内部的值，而是需要实际进行节点交换。

*/
int main(int argc, char const *argv[])
{
    /* code */
    return 0;
}
